#ifndef LEVELSPROXYMODEL_H
#define LEVELSPROXYMODEL_H


#include <characterclass.h>


#include <QSortFilterProxyModel>
#include <QPointer>


class LevelsProxyModel : public QSortFilterProxyModel
{
    Q_OBJECT
public:
    enum Column
    {
        Column_FIRST = 0,

        Column_LEVEL = Column_FIRST,
        Column_BA,
        Column_FORT,
        Column_REF,
        Column_WILL,
        Column_SPEC,

        Column_LAST = Column_SPEC
    };


    explicit LevelsProxyModel(QObject *parent = 0);

    virtual QVariant data(const QModelIndex &index, int role) const;
    virtual QVariant headerData(int section, Qt::Orientation orientation, int role) const;

    virtual Qt::ItemFlags flags(const QModelIndex &index) const;

//    QModelIndex classLevelsIndex() const;


public slots:

//    void setCharacterClass(CharacterClass* characterClass);
    virtual void revert();


protected:

    QVariant alignmentData(const QModelIndex index) const;

//    QPointer<CharacterClass> m_characterClass;


};

#endif // LEVELSPROXYMODEL_H
